﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
using System.Data;
using System.Drawing;

namespace MNNUTEM
{
    class crudProducto
    {

        private Conexion cn = new Conexion();
        String query;
        private mensaje msj;

        public void InsertProductoCostoLote( TextBox idProducto , TextBox nombreProducto ,TextBox alto,TextBox ancho, TextBox largo, TextBox demanda, TextBox cantidad ,TextBox idSucursal,TextBox pesoProducto,TextBox caducaProducto)
        {
            try
            {
                
                MySqlCommand myCommand = new MySqlCommand("productocosto", cn.conn());
              
                myCommand.CommandType = CommandType.StoredProcedure;
              
                myCommand.Parameters.AddWithValue("@p4", idProducto.Text);
                myCommand.Parameters.AddWithValue("@p5", nombreProducto.Text);
                myCommand.Parameters.AddWithValue("@p6", alto.Text);
                myCommand.Parameters.AddWithValue("@p7", ancho.Text);
                myCommand.Parameters.AddWithValue("@p8", largo.Text);
                myCommand.Parameters.AddWithValue("@p9", demanda.Text);
                myCommand.Parameters.AddWithValue("@p10", cantidad.Text);
                myCommand.Parameters.AddWithValue("@p11", pesoProducto.Text);
                myCommand.Parameters.AddWithValue("@p12", caducaProducto.Text);
                myCommand.Parameters.AddWithValue("@p13", idSucursal.Text);
              

                myCommand.ExecuteNonQuery();
                cn.conn().Close();
                msj = new mensaje("Producto Ingresado con éxito.", 1300, Color.Green);

            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                throw new Exception("Se ha producido un error:", ex);
            }



        }

       



        public void Delete(int ID)
        {

            try
            {
                query = "delete from Producto where idProducto='" + ID + "'";
                MySqlCommand myCommand = new MySqlCommand(query, cn.conn());
          
                myCommand.ExecuteNonQuery();
                cn.conn().Close();
                msj = new mensaje("Acción realizada con éxito.", 1300, Color.Green);

            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                throw new Exception("Se ha producido un error:", ex);
            }


        }

        public void Consultation3(DataGridView dataGridView1)
        {

            DataTable schemaTable;
            MySqlDataReader myReader;

            MySqlCommand cmd = new MySqlCommand(query, cn.conn());
            cmd.Connection = cn.conn();
            cmd.CommandText = "SELECT *from Producto ";
            myReader = cmd.ExecuteReader();
            schemaTable = myReader.GetSchemaTable();
            int x = 0, y=0;
            while (myReader.Read())
            {
                if (int.Parse(myReader.GetString(8)) <= 10)
                {
                    MessageBox.Show("equis= "+x);
                    
                    dataGridView1.Rows[x].DefaultCellStyle.BackColor = Color.Pink;
                    x++;
                    MessageBox.Show("equissss= " + x);
                }
                else
                {
                    x++;
                    
                }
                
            }



        }


        public void SetId(int ID, int idsuperior)
        {


            try
            {
                query = "UPDATE  Producto set idProducto='" + ID + "' where idProducto='"+idsuperior+"'";
                MySqlCommand myCommand = new MySqlCommand(query, cn.conn());
              
                myCommand.ExecuteNonQuery();
                cn.conn().Close();
                

            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                throw new Exception("Se ha producido un error:", ex);
            }


        }



        public void Set(TextBox idProducto, TextBox nombre, TextBox altura, TextBox ancho , TextBox largo, TextBox demanda, TextBox cantidad, int idSucursal, TextBox peso, TextBox caduca)
        {


            try
            {
                query = "UPDATE  Producto set idProducto='" + idProducto.Text + "' , nombreProducto='" + nombre.Text + "', alturaProducto='" + altura.Text + "', anchoProducto='" + ancho.Text + "', largoProducto='" + largo.Text + "', Demanda='" + demanda.Text + "', cantidadProducto='" + cantidad.Text + "', pesoProducto='"+peso.Text+"', caducaProducto='"+caduca.Text+"', Sucursal_idSucursal='"+idSucursal+"'  where idProducto='" + idProducto + "'";
                MySqlCommand myCommand = new MySqlCommand(query, cn.conn());
             
                myCommand.ExecuteNonQuery();
                cn.conn().Close();
                msj = new mensaje("Modificación realizada con éxito.", 1300, Color.Green);

            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                throw new Exception("Se ha producido un error:", ex);
            }


        }

        
       
    
   
   
     
    




        public DataTable Consultation(string consultation)
        {

            try
            {


                query = consultation;
                MySqlCommand myCommand = new MySqlCommand(query, cn.conn());
              
                MySqlDataAdapter sda = new MySqlDataAdapter();
                sda.SelectCommand = myCommand;
                DataTable dtable = new DataTable();
                sda.Fill(dtable);


                return dtable;

            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                throw new Exception("Se ha producido un error:", ex);
            }

        }


        public DataSet Consultation2(string consultation)
        {

            try
            {


                query = consultation;
                MySqlCommand myCommand = new MySqlCommand(query, cn.conn());
                MySqlDataAdapter sda = new MySqlDataAdapter();
                sda.SelectCommand = myCommand;
                DataSet DS = new DataSet();
                sda.Fill(DS);


                return DS;

            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                throw new Exception("Se ha producido un error:", ex);
            }

        }

    }
}
